package com.atguigu.realtime.util;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

/**
 * @Author lizhenchao@atguigu.cn
 * @Date 2022/2/14 10:09
 */
public class RedisUtil {
    private static JedisPool pool;
    
    static {
        JedisPoolConfig conf = new JedisPoolConfig();
        conf.setMaxTotal(300);// 能提供的最大连接数
        conf.setMaxIdle(100); // 允许的最大空闲连接数
        conf.setMaxWaitMillis(10000);// 获取连接的最大等待时间
        conf.setTestOnCreate(true); // 创建连接对象成功之后测试连接的可用性
        conf.setTestOnBorrow(true); // 获取连接对象的时候测试连接的可用性  ping / pong
        conf.setTestOnReturn(true); // 归还连接对象的时候, 测试连接的可用性
        
        pool = new JedisPool(conf, "hadoop162", 6379);
    }
    
    public static Jedis getRedisClient() {
        /*
        1. 直接创建redis客户端(连接)
        
        2. 使用连接池的方式
         */
        Jedis client = pool.getResource();
        client.select(1);
    
        return client;
        
    }
}
